home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Reference / DevCon / Atlanta_1990 / Atlanta-Devcon.1 / Libraries / Intuition / boopsi / makefile < prev    next >
Encoding:
Makefile  |  1992-08-26  |  4.1 KB  |  159 lines

  1. # boopsi Intuition demos
  2. # LATTICE
  3. # created March 6, 1990
  4.  
  5. ##### setup    #####
  6. SYM=demo.sym
  7. SYMSRC= sysall.h
  8. SYMDIR=ram:
  9. BACKUPDIR=A:backup/amiga/newexamples/boopsi
  10. INSTALLDIR=V:aug/boopsi
  11. #SHUTTLE=copy to df0: from
  12. SHUTTLE=@list
  13.  
  14. # INCLUDE assign volumes used (or change this line)
  15. # VINCLUDE:    v36 include (stripped) directory
  16. # INCLATTICE:    Lattice's standard include directory, e.g. <stdio.h>
  17. # MYINCLUDE:    development overrides of system includes,
  18. #         you can remove this, or use it for interim bug
  19. #         fixes in the include files
  20. # VLIB:        location of V36 amiga.lib, debug.lib
  21. INCLUDE= -iMYINCLUDE: -iVINCLUDE: -iINCLATTICE:
  22. AINCLUDE= 
  23.  
  24. # turn this thing on if you turn on any debugging that
  25. # calls dumpTagItem()
  26. #TAGDEBUG=tagdebug.o
  27. TAGDEBUG=
  28.  
  29. ##### options    #####
  30. # lc pass 1
  31. CFLAGS1=-. $(INCLUDE) -d -cwu -H$(SYMDIR)$(SYM)
  32. # lc pass 2
  33. CFLAGS2=-. -v
  34. # linker
  35. BLOPTS=BATCH BUFSIZE 1024 QUIET SC SD
  36. LIBS=LIB:lc.lib VLIB:debug.lib VLIB:amiga.lib 
  37.  
  38. ##### rules    #####
  39. # lattice compiler, separate passes for no particular reason
  40. .c.o:
  41.     @echo "    $*.c pass 1"
  42.     @lc1 $(CFLAGS1) -oquad:$*.q $* 
  43.     @echo "    optimization pass"
  44.     @go quad:$*.q
  45.     @echo "    $*.c pass 2"
  46.     @lc2 $(CFLAGS2) -o$*.o quad:$*.q 
  47.  
  48. ASM=casm -a
  49. AFLAG= -cvrf
  50. #AINCL= -i INCLUDE:
  51. AINCL= -i MYINCLUDE: -i VINCLUDE:
  52. .asm.o:
  53.     @echo "$*.asm: $(AFLAGS)"
  54.     @$(ASM) $*.asm $(AFLAGS) $(AINCL) -o $*.o
  55.  
  56. # produce a "listing" file (by disassembly)
  57. .o.lst:
  58.     omd >$*.lst $*.o $*.c
  59.  
  60. ###### targets #####
  61. all: $(SYMDIR)$(SYM) demoframe demotextb pubi demopubi demoimage \
  62.     demo1 demo2 demo3 demo4 demo5 myclass.ld democlasslib
  63.  
  64. # simple private image class example
  65. DEMOIO=demoimage.o emboxclass.o classface.o hookface.o
  66. demoimage: $(DEMOIO)
  67.     blink $(BLOPTS) FROM lib:c.o $(DEMOIO) LIB $(LIBS) TO $@
  68.     $(SHUTTLE) $@
  69.  
  70. # public image class example
  71. DEMOPUBO=demopubi.o emboxpubcl.o classface.o hookface.o
  72. demopubi: $(DEMOPUBO)
  73.     blink $(BLOPTS) FROM lib:c.o $(DEMOPUBO) LIB $(LIBS) TO $@
  74.     $(SHUTTLE) $@
  75.  
  76. # public image class installer: program version
  77. PUBIO=pubi.o emboxpubcl.o classface.o hookface.o 
  78. pubi: $(PUBIO)
  79.     blink $(BLOPTS) FROM lib:c.o $(PUBIO) LIB $(LIBS) TO $@
  80.     $(SHUTTLE) $@
  81.  
  82. # public image class installer: library version
  83. MYCLASSO=myclasslib.o myclassinit.o emboxpubcl.o classface.o hookface.o 
  84. myclass.ld:  $(MYCLASSO)
  85.     blink $(BLOPTS) FROM $(MYCLASSO) \
  86.     LIB  VLIB:debug.lib VLIB:amiga.lib  \
  87.     TO $@
  88.     stripa $@ to myclass.library
  89.  
  90. #    copy myclass.library to df0:libs
  91.  
  92. DEMOCLASSLIBO=democlasslib.o
  93. democlasslib: $(DEMOCLASSLIBO)
  94.     blink $(BLOPTS) FROM lib:c.o $(DEMOCLASSLIBO) LIB $(LIBS) TO $@
  95.     $(SHUTTLE) $@
  96.  
  97. # public image "frame" class example
  98. DEMOFRAMEO=demoframe.o frame1class.o classface.o hookface.o
  99. demoframe: $(DEMOFRAMEO)
  100.     blink $(BLOPTS) FROM lib:c.o $(DEMOFRAMEO) LIB $(LIBS) TO $@
  101.     $(SHUTTLE) $@
  102.  
  103. # text button class, using frame image around text contents
  104. DEMOTBO= demotextb.o textbclass.o frame1class.o \
  105.     classface.o hookface.o
  106. demotextb: $(DEMOTBO)
  107.     blink $(BLOPTS) FROM lib:c.o $(DEMOTBO) LIB $(LIBS) TO $@
  108.     $(SHUTTLE) $@
  109.  
  110. ##### gadget examples    #####
  111.  
  112. # boopsi gadgets and GADGETUP messages
  113. DEMO1O=demo1.o classface.o
  114. demo1: $(DEMO1O)
  115.     blink $(BLOPTS) FROM lib:c.o $(DEMO1O) LIB $(LIBS) TO $@
  116.     $(SHUTTLE) $@
  117.  
  118. # boopsi gadgets and IDCMPUPDATE messages
  119. DEMO2O=demo2.o classface.o
  120. demo2: $(DEMO2O)
  121.     blink $(BLOPTS) FROM lib:c.o $(DEMO2O) LIB $(LIBS) TO $@
  122.     $(SHUTTLE) $@
  123.  
  124. # boopsi gadgets, a model, ic's, and boopsi interconnections
  125. DEMO3O=demo3.o mymodelclass.o hookface.o classface.o $(TAGDEBUG)
  126. demo3: $(DEMO3O)
  127.     blink $(BLOPTS) FROM lib:c.o $(DEMO3O) LIB $(LIBS) TO $@
  128.     $(SHUTTLE) $@
  129.  
  130. # an interconnected boopsi gadget group
  131. DEMO4O=demo4.o mymodelclass.o hookface.o classface.o $(TAGDEBUG)
  132. demo4: $(DEMO4O)
  133.     blink $(BLOPTS) FROM lib:c.o $(DEMO4O) LIB $(LIBS) TO $@
  134.     $(SHUTTLE) $@
  135.  
  136. # a class that creates boopsi composite gadgets
  137. DEMO5O=demo5.o mygroupgclass.o mymodelclass.o hookface.o classface.o $(TAGDEBUG)
  138. demo5: $(DEMO5O)
  139.     blink $(BLOPTS) FROM lib:c.o $(DEMO5O) LIB $(LIBS) TO $@
  140.     $(SHUTTLE) $@
  141.  
  142.  
  143. #####     #####
  144.  
  145. backup:
  146.     copy \#? $(BACKUPDIR)
  147.  
  148. install:
  149.     copy \#? $(INSTALLDIR)
  150.  
  151. ##### make precompiled header files    #####
  152.  
  153. $(SYMDIR)$(SYM): $(SYM)
  154.     copy $(SYM) $(SYMDIR)
  155.  
  156. $(SYM): $(SYMSRC)
  157.     lc1 $(INCLUDE) -ph -o$(SYM) $(SYMSRC)
  158.  
  159.